function assert(exp,msg){
	if(!exp){
		throw new Error(msg || '不能为空')
	}
}
let strategies ={
	isEmpty:(val,msg)=>{
		if(!val){
			return msg
		}
	},
	isPhone:(val,msg)=>{
		let reg = /^1[3456789]\d{9}$/
		if(!reg.test(val)){
			return msg
		}
	}
}
class Validate{
	constructor() {
		this.cache = []
	}
	add(rule){
		let {val,type,errMsg,required} = rule
		console.log(rule);
		this.cache.push(function(){
			return strategies[type](val,errMsg)
		})
	}
	run(){
		for(let i=0;i<this.cache.length;i++){
			let msg = this.cache[i]()
			if(msg){
				return msg
			}
		}
	}
}


